6303sys.txt
Instruction set of the 6303 in systematical order
From Hitachi databook
1988/wjvg

             addressing modes                                  flags
oper  mnem   immed   direct  index   extend  implied  explan   h i n z v c
---------------------------------------------------------------------------
add   adda   8b 2 2  9b 3 2  ab 4 2  bb 4 3  -- - -   a+=m     u - u u u u
      addb   cb 2 2  db 3 2  eb 4 2  fb 4 3  -- - -   b+=m     u - u u u u
      addd   c3 3 3  d3 4 2  e3 5 2  f3 5 3  -- - -   d+=m     - - u u u u
      aba    -- - -  -- - -  -- - -  -- - -  1b 1 1   a+=b     u - u u u u
adc   adca   89 2 2  99 3 2  a9 4 2  b9 4 3  -- - -   a+=m+c   u - u u u u
      adcb   c9 2 2  d9 3 2  e9 4 2  f9 4 3  -- - -   b+=m+c   u - u u u u
and   anda   84 2 2  94 3 2  a4 4 2  b4 4 3  -- - -   a&=m     - - u u 0 -
      andb   c4 2 2  d4 3 2  e4 4 2  f4 4 3  -- - -   b&=m     - - u u 0 -
bit   bita   85 2 2  95 3 2  a5 4 2  b5 4 3  -- - -   a&m      - - u u 0 -
      bitb   c5 2 2  d5 3 2  e5 4 2  f5 4 3  -- - -   b&m      - - u u 0 -
clr   clr    -- - -  -- - -  6f 5 2  7f 5 3  -- - -   m=0      - - u u 0 0
      clra   -- - -  -- - -  -- - -  -- - -  4f 1 1   a=0      - - u u 0 0
      clrb   -- - -  -- - -  -- - -  -- - -  5f 1 1   b=0      - - u u 0 0
cmp   cmpa   81 2 2  91 3 2  a1 4 2  b1 4 3  -- - -   a-m      - - u u u u
      cmpb   c1 2 2  d1 3 2  e1 4 2  f1 4 3  -- - -   b-m      - - u u u u
      cba    -- - -  -- - -  -- - -  -- - -  11 1 1   a-b      - - u u u u
com   com    -- - -  -- - -  63 6 2  73 6 3  -- - -   m=~m     - - u u 0 1
      coma   -- - -  -- - -  -- - -  -- - -  43 1 1   a=~a     - - u u 0 1
      comb   -- - -  -- - -  -- - -  -- - -  53 1 1   b=~b     - - u u 0 1
neg   neg    -- - -  -- - -  60 6 2  70 6 3  -- - -   m=-m     - - u u u u
      nega   -- - -  -- - -  -- - -  -- - -  40 1 1   a=-a     - - u u u u
      negb   -- - -  -- - -  -- - -  -- - -  50 1 1   b=-b     - - u u u u
daa   daa    -- - -  -- - -  -- - -  -- - -  19 2 1   a=da(a)  - - u u u 3
dec   dec    -- - -  -- - -  6a 6 2  7a 6 3  -- - -   m-=1     - - u u u -
      deca   -- - -  -- - -  -- - -  -- - -  4a 1 1   a-=1     - - u u u -
      decb   -- - -  -- - -  -- - -  -- - -  5a 1 1   b-=1     - - u u u -
eor   eora   88 2 2  98 3 2  a8 4 2  b8 4 3  -- - -   a^=m     - - u u 0 -
      eorb   c8 2 2  d8 3 2  e8 4 2  f8 4 3  -- - -   b^=m     - - u u 0 -
inc   inc    -- - -  -- - -  6c 6 2  7c 6 3  -- - -   m+=1     - - u u u -
      inca   -- - -  -- - -  -- - -  -- - -  4c 1 1   a+=1     - - u u u -
      incb   -- - -  -- - -  -- - -  -- - -  5c 1 1   b+=1     - - u u u -
ld    ldaa   86 2 2  96 3 2  a6 4 2  b6 4 3  -- - -   a=m      - - u u 0 -
      ldab   c6 2 2  d6 3 2  e6 4 2  f6 4 3  -- - -   b=m      - - u u 0 -
      ldd    cc 3 3  dc 4 2  ec 5 2  fc 5 3  -- - -   d=m      - - u u 0 -
mul   mul    -- - -  -- - -  -- - -  -- - -  3d 7 1   a:b=a*b  - - - - - 4
or    oraa   8a 2 2  9a 3 2  aa 4 2  ba 4 3  -- - -   a|=m     - - u u 0 -
      orab   ca 2 2  da 3 2  ea 4 2  fa 4 3  -- - -   b|=m     - - u u 0 -
push  psha   -- - -  -- - -  -- - -  -- - -  36 4 1   *s--=a   - - - - - -
      pshb   -- - -  -- - -  -- - -  -- - -  37 4 1   *s--=b   - - - - - -
pull  pula   -- - -  -- - -  -- - -  -- - -  32 3 1   a=*++s   - - - - - -
      pulb   -- - -  -- - -  -- - -  -- - -  33 3 1   b=*++s   - - - - - -
rol   rol    -- - -  -- - -  69 6 2  79 6 3  -- - -   m=rol(m) - - u u u u
      rola   -- - -  -- - -  -- - -  -- - -  49 1 1   a=rol(a) - - u u u u
      rolb   -- - -  -- - -  -- - -  -- - -  59 1 1   b=rol(b) - - u u u u
ror   ror    -- - -  -- - -  66 6 2  76 6 3  -- - -   m=ror(m) - - u u u u
      rora   -- - -  -- - -  -- - -  -- - -  46 1 1   a=ror(a) - - u u u u
      rorb   -- - -  -- - -  -- - -  -- - -  56 1 1   b=ror(b) - - u u u u

asl   asl    -- - -  -- - -  68 6 2  78 6 3  -- - -   m<<=1    - - u u u u
      asla   -- - -  -- - -  -- - -  -- - -  48 1 1   a<<=1    - - u u u u
      aslb   -- - -  -- - -  -- - -  -- - -  58 1 1   b<<=1    - - u u u u
      asld   -- - -  -- - -  -- - -  -- - -  05 1 1   d<<=1    - - u u u u
asr   asr    -- - -  -- - -  67 6 2  77 6 3  -- - -   (i)m>>=1 - - u u u u
      asra   -- - -  -- - -  -- - -  -- - -  47 1 1   (i)a>>=1 - - u u u u
      asrb   -- - -  -- - -  -- - -  -- - -  57 1 1   (i)b>>=1 - - u u u u
lsr   lsr    -- - -  -- - -  64 6 2  74 6 3  -- - -   (u)m>>=1 - - u u u u
      lsra   -- - -  -- - -  -- - -  -- - -  44 1 1   (u)a>>=1 - - u u u u
      lsrb   -- - -  -- - -  -- - -  -- - -  54 1 1   (u)b>>=1 - - u u u u
      lsrd   -- - -  -- - -  -- - -  -- - -  04 1 1   (u)d>>=1 - - u u u u
st    staa   -- - -  97 3 2  a7 4 2  b7 4 3  -- - -   m=a      - - u u 0 -
      stab   -- - -  d7 3 2  e7 4 2  f7 4 3  -- - -   m=b      - - u u 0 -
      std    -- - -  dd 4 2  ed 5 2  fd 5 3  -- - -   m=d      - - u u 0 -
sub   suba   80 2 2  90 3 2  a0 4 2  b0 4 3  -- - -   a-=m     - - u u u u
      subb   c0 2 2  d0 3 2  e0 4 2  f0 4 3  -- - -   b-=m     - - u u u u
      subd   83 3 3  93 4 2  a3 5 2  b3 5 3  -- - -   d-=m     - - u u u u
      sba    -- - -  -- - -  -- - -  -- - -  10 1 1   a-=b     - - u u u u
sbc   sbca   82 2 2  92 3 2  a2 4 2  b2 4 3  -- - -   a-=m+c   - - u u u u
      sbcb   c2 2 2  d2 3 2  e2 4 2  f2 4 3  -- - -   b-=m+c   - - u u u u
tfr   tab    -- - -  -- - -  -- - -  -- - -  16 1 1   b=a      - - u u 0 -
      tba    -- - -  -- - -  -- - -  -- - -  17 1 1   a=b      - - u u 0 -
tst   tst    -- - -  -- - -  6d 4 2  7d 4 3  -- - -   m-0      - - u u 0 0
      tsta   -- - -  -- - -  -- - -  -- - -  4d 1 1   a-0      - - u u 0 0
      tstb   -- - -  -- - -  -- - -  -- - -  5d 1 1   b-0      - - u u 0 0
and   aim    -- - -  71 6 3  61 7 3  -- - -  -- - -   m&=im    - - u u 0 -
or    oim    -- - -  72 6 3  62 7 3  -- - -  -- - -   m|=im    - - u u 0 -
eor   eim    -- - -  75 6 3  65 7 3  -- - -  -- - -   m^=im    - - u u 0 -
tst   tim    -- - -  7b 4 3  6b 5 3  -- - -  -- - -   m-im     - - u u 0 -

cmp   cpx    8c 3 3  9c 4 2  ac 5 2  bc 5 3  -- - -   x-m      - - u u u u
dec   dex    -- - -  -- - -  -- - -  -- - -  09 1 1   x-=1     - - - u - -
      des    -- - -  -- - -  -- - -  -- - -  34 1 1   s-=1     - - - - - -
inc   inx    -- - -  -- - -  -- - -  -- - -  08 1 1   x+=1     - - - u - -
      ins    -- - -  -- - -  -- - -  -- - -  31 1 1   s+=1     - - - - - -
ld    ldx    ce 3 3  de 4 2  ee 5 2  fe 5 3  -- - -   x=m      - - u u 0 -
      lds    8e 3 3  9e 4 2  ae 5 2  be 5 3  -- - -   s=m      - - u u 0 -
st    stx    -- - -  df 4 2  ef 5 2  ff 5 3  -- - -   m=x      - - u u 0 -
      sts    -- - -  9f 4 2  af 5 2  bf 5 3  -- - -   m=s      - - u u 0 -
tfr   txs    -- - -  -- - -  -- - -  -- - -  35 1 1   s=x-1    - - - - - -
      tsx    -- - -  -- - -  -- - -  -- - -  30 1 1   x=s+1    - - - - - -
add   abx    -- - -  -- - -  -- - -  -- - -  3a 1 1   x+=(uc)b - - - - - -
push  pshx   -- - -  -- - -  -- - -  -- - -  3c 5 1   *s--=x   - - - - - -
pull  pulx   -- - -  -- - -  -- - -  -- - -  38 4 1   x=*++s   - - - - - -
exg   xgdx   -- - -  -- - -  -- - -  -- - -  18 2 1   exg(d,x) - - - - - -

bra   bra    20 3 2  -- - -  -- - -  -- - -  -- - -   bra      - - - - - -
      brn    21 3 2  -- - -  -- - -  -- - -  -- - -   bra( 0)  - - - - - -
      bcc    24 3 2  -- - -  -- - -  -- - -  -- - -   bra(cc)  - - - - - -
      bcs    25 3 2  -- - -  -- - -  -- - -  -- - -   bra(cs)  - - - - - -
      beq    27 3 2  -- - -  -- - -  -- - -  -- - -   bra(eq)  - - - - - -
      bge    2c 3 2  -- - -  -- - -  -- - -  -- - -   bra(ge)  - - - - - -
      bgt    2e 3 2  -- - -  -- - -  -- - -  -- - -   bra(gt)  - - - - - -
      bhi    22 3 2  -- - -  -- - -  -- - -  -- - -   bra(hi)  - - - - - -
      ble    2f 3 2  -- - -  -- - -  -- - -  -- - -   bra(le)  - - - - - -
      bls    23 3 2  -- - -  -- - -  -- - -  -- - -   bra(ls)  - - - - - -
      blt    2d 3 2  -- - -  -- - -  -- - -  -- - -   bra(lt)  - - - - - -
      bmi    2b 3 2  -- - -  -- - -  -- - -  -- - -   bra(mi)  - - - - - -
      bne    26 3 2  -- - -  -- - -  -- - -  -- - -   bra(ne)  - - - - - -
      bvc    28 3 2  -- - -  -- - -  -- - -  -- - -   bra(vc)  - - - - - -
      bvs    29 3 2  -- - -  -- - -  -- - -  -- - -   bra(vs)  - - - - - -
      bpl    2a 3 2  -- - -  -- - -  -- - -  -- - -   bra(pl)  - - - - - -
bsr   bsr    8d 5 2  -- - -  -- - -  -- - -  -- - -   bsr      - - - - - -
jmp   jmp    -- - -  -- - -  6e 3 2  7e 3 3  -- - -   jmp      - - - - - -
jsr   jsr    -- - -  9d 5 2  ad 5 2  bd 6 3  -- - -   jsr      - - - - - -
nop   nop    -- - -  -- - -  -- - -  -- - -  01 1 1   nop      - - - - - -
rts   rti    -- - -  -- - -  -- - -  -- - -  3b a 1   rti      u u u u u u
      rts    -- - -  -- - -  -- - -  -- - -  39 5 1   rts      - - - - - -
swi   swi    -- - -  -- - -  -- - -  -- - -  3f c 1   swi      - 1 - - - -
wait  wai    -- - -  -- - -  -- - -  -- - -  3e 9 1   wait     - 5 - - - -
      slp    -- - -  -- - -  -- - -  -- - -  1a 4 1   sleep    - - - - - -

clr   clc    -- - -  -- - -  -- - -  -- - -  0c 1 1   c=0      - - - - - 0
      cli    -- - -  -- - -  -- - -  -- - -  0e 1 1   i=0      - 0 - - - -
      clv    -- - -  -- - -  -- - -  -- - -  0a 1 1   v=0      - - - - 0 -
set   sec    -- - -  -- - -  -- - -  -- - -  0d 1 1   c=1      - - - - - 1
      sei    -- - -  -- - -  -- - -  -- - -  0f 1 1   i=1      - 1 - - - -
      sev    -- - -  -- - -  -- - -  -- - -  0b 1 1   v=1      - - - - 1 -
tfr   tap    -- - -  -- - -  -- - -  -- - -  06 1 1   ccr=a    u u u u u u
      tpa    -- - -  -- - -  -- - -  -- - -  07 1 1   a=ccr    - - - - - -

cc notes:
-  not changed
u  updated according to data
0  set to 0
1  set to 1
3  c|=(msn>9)
4  Most significant bit of b.
5  Set when interrupt occurs. If previously set,
   a Non-Maskable interrupt is required to exit the wait state.


